/*
concept of a single animation cycle (animation)
animation consists of an array of stills,
which is a tripple: (frame, texture, source),
and an extra animation
// render extra animation (if available), in front of the main animation
//? should be possible to render behind too, and infinite animations recourcively
*/

#ifndef _ANIMATION_H
#define _ANIMATION_H

class Frame;
class Texture;
class Source;

class Animation{

public:

	Animation();
	~Animation();
	void release();

	Animation( const Animation &in );
	
	float fps;
	unsigned int nFrames;
	unsigned int cur_frame;
	unsigned int begin_time;
	Frame** frames; //? check how it deletes them
	Texture** sprites;
	Source** sources;
	Animation* extra;
};

#endif
